ci: rebase merge-gate required jobs on measured failure data - #4178
Draft
Leiyks wants to merge 3 commits into
Draft
ci: rebase merge-gate required jobs on measured failure data#4178Leiyks wants to merge 3 commits into
Leiyks wants to merge 3 commits into
Conversation
Re-require six compile globs, verify windows, and System Tests:* (a CI outage, not flakiness). Newly exempt 13 families with measured failures. Prune 88 globs with no evidence behind them (zero failures, single-failure, or unreachable jobs). Net: 149 -> 74 patterns; gating jobs 636 -> 1225 of 2098.
|
The previous commit newly exempted 13 job families that master's flaky-jobs.txt did not list. A family absent from that list was already deemed not flaky, so re-exempting it is a regression in gate coverage -- most clearly for helper-rust integration coverage, which #3725 (c237bf4) deliberately removed. Keep every pruning the previous commit made. Net vs master: pure deletion, 149 -> 61 patterns; gating jobs 744 -> 1402 of 2193.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Updates
.gitlab/flaky-jobs.txtfrom a failure-frequency export covering 5006 job failures. The list had been hand-maintained at family granularity since #4028 and was never derived from data. This change is a pure removal: 149 → 61 patterns, 0 insertions / 88 deletions.Re-required after the CI-image outage (8 globs, 150 jobs) — the six
compile *globs,verify windows, andSystem Tests:*. They carry 1137 of the export's failures, but that volume is the outage window (598 forSystem Tests:*, 84–178 for fourcompile *families), not flakiness; the outage itself was fixed in #4171.No evidence (54 globs, 510 jobs) — 46 globs match real jobs but recorded zero failures, and 8 more had exactly one failure across the whole window while covering 72 jobs between them.
Structurally dead (26 globs, 0 jobs) — they match nothing in any pipeline
merge-gate.shcan see. 18 are SSI scenario globs (*.SID0:*,*.SI94:*,php-app.*.DOC:*,K8S_LIB_INJECTION_UDS:*) whose jobs live in thesystem_testspipeline, a grandchild reached through a bridge inside thepackage-triggerchild; the gate expands only the parent's direct bridges. The other 8 match no job anywhere, includingappsec integration tests (helper-rust):*(job removed in #3725) andupdate-latest-versions(a GitHub Actions job).Six zero-failure globs are deliberately kept because they never ran rather than never failed:
generate-lib-init-pinned-tag-values(manual, tag-only),package-oci:*andcreate-multiarch-lib-injection-image($SKIP_SHARED_PIPELINE-gated), and threephp-*-realworld-parallel-*benchmark jobs gated on master/nightly.helper-rust integration coveragestays out. It is the only glob any prior commit ever deleted —c237bf4a2(#3725) removed it as part of making that job reliable — so re-adding it would silently un-require a job a maintainer had just deliberately made required.Jobs that can block a merge: 636 → 1296 of 2098. The denominator is the 2099 distinct job names observed in master pipeline 136253425 and its five direct child pipelines, minus
merge-gateitself, which the gate skips. Every pattern was matched withmerge-gate.sh's exact semantics ([[ "$job" == $g ]], unquoted glob, whole-string, case-sensitive).